Object-oriented class maintainability prediction using internal quality attributes
نویسنده
چکیده
Context: Class maintainability is the likelihood that a class can be easily modified. Before releasing an object-oriented software system, it is impossible to know with certainty when, where, how, and how often a class will be modified. At that stage, this likelihood can be estimated using the internal quality attributes of a class, which include cohesion, coupling, and size. To reduce the future class maintenance efforts and cost, developers are encouraged to carefully test and well document low maintainability classes before releasing the object-oriented system. Objective: We empirically study the relationship between internal class quality attributes (size, cohesion, and coupling) and an external quality attribute (class maintainability). Using statistical techniques, we also construct models based on the selected internal attributes to predict class maintainability. Method: We consider classes of three open-source systems. For each class, we account for two actual maintainability indicators, the number of revised lines of code and the number of revisions in which the class was involved. Using 19 internal quality measures, we empirically explore the impact of size, cohesion, and coupling on class maintainability. We also empirically investigate the abilities of the measures, considered both individually and combined, to estimate class maintainability. Statistically based prediction models are constructed and validated. Results: Our results demonstrate that classes with better qualities (i.e., higher cohesion values and lower size and coupling values) have better maintainability (i.e., are more likely to be easily modified) than those of worse qualities. Most of the considered measures are shown to be predictors of the considered maintainability indicators to some degree. The abilities of the considered internal quality measures to predict class maintainability are improved when the measures are combined using optimized multivariate statistical models. Conclusion: The prediction models can help software engineers locate classes with low maintainability. These classes must be carefully tested and well documented.
منابع مشابه
An Essence of Software Maintenance Prediction Using the Fuzzy Model for Aspect Oriented Software
Software maintenance is generally used to refer the changes that are made to software after its initial release, installation and operation. In several research it has proven that maintenance involve more than 40 percent of the total cost of the software. External quality factors assessments were always in light from the beginning of the software engineering research and related to internal qua...
متن کاملUsing Fuzzy Prototypes for Software Engineering Measurement and Prediction
-The main objective of this work is to present an application of an extension of the original Knowledge Discovery in Databases (KDD) process called Fuzzy Prototypical Knowledge Discovery (FPKD) together with a FPKD based prediction model. This technique is applied to Software Engineering measurement. In order to get quality object-oriented information systems (OOIS), it is necessary to assess t...
متن کاملA controlled experiment for corroborating the usefulness of class diagram metrics at the early phases of OO developments
The quality of class diagrams is critical because it has a great influence on the quality of the object oriented information system (OOIS) which are finally delivered. This fact motivated us to define a set of measures for evaluating the structural complexity (an internal quality attribute) of class diagrams made using the Unified Modeling Language (UML), which nowadays is the standard language...
متن کاملA hybrid approach for the prediction of fault proneness in object oriented design using fuzzy logic
Empirical studies conducted by the researchers on object-oriented design metrics are useful for forecasting the fault-proneness of classes in object-oriented design. In this study, we propose an integrated hybrid model to empirically investigate the fault-proneness of object-oriented design. We will use a subset of the Chidamber and Kemerer suite and all of the MOOD metrics to predict fault-pro...
متن کاملSimplified Coupling Metrics for Object-Oriented Software
Coupling in software has been linked with maintainability and existing metrics are used as predictors of external software quality attributes such as fault-proneness, impact analysis, ripple effects of changes, changeability, etc. Many coupling measures for object-oriented (OO) software have been proposed, each of them capturing specific dimensions of coupling. In this paper, we describe and ev...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Information & Software Technology
دوره 55 شماره
صفحات -
تاریخ انتشار 2013